﻿#include <iostream>  
#include <string>  
#include <chrono>  
#include <ctime>  
//time:7.02
class PomodoroSession {
private:
    std::chrono::system_clock::time_point startTime;
    std::chrono::system_clock::time_point endTime;
    std::string sessionType; // 可以是 "Pomodoro" 或 "Break"  
    std::chrono::minutes duration;

public:
    PomodoroSession(std::string type, std::chrono::minutes dur)
        : sessionType(type), duration(dur) {
        startTime = std::chrono::system_clock::now();
    }

    void endSession() {
        endTime = std::chrono::system_clock::now();
    }

    std::string getSummary() const {
        auto elapsed = std::chrono::duration_cast<std::chrono::minutes>(endTime - startTime).count();
        std::string summary = "Session Type: " + sessionType + ", Duration: " + std::to_string(elapsed) + " minutes";
        return summary;
    }

    // 更多的getter和setter...  
};
#include <vector>  

class PomodoroStats {
private:
    std::vector<PomodoroSession> sessions;

public:
    void addSession(PomodoroSession session) {
        sessions.push_back(session);
    }

    void displayStats() const {
        std::cout << "Pomodoro Stats:" << std::endl;
        for (const auto& session : sessions) {
            std::cout << session.getSummary() << std::endl;
        }

        // 可以在这里添加更多的统计信息，如总时间、平均时间等  
    }

    // 可能还需要其他功能，如按类型筛选、计算总时间等  
}; 
//调试
// int main() {
    PomodoroStats stats;

    // 添加几个示例会话  
    stats.addSession(PomodoroSession("Pomodoro", std::chrono::minutes(25)));
    stats.addSession(PomodoroSession("Break", std::chrono::minutes(5)));

    // 假设在某个点结束这些会话  
    auto& lastSession = stats.sessions.back();
    lastSession.endSession(); // 仅结束最后一个会话作为示例  

    // 显示统计信息  
    stats.displayStats();

    return 0;
}